package com.weibo.dao;

import com.weibo.pojo.User;
import com.weibo.common.Exception.DataManipulationException;

import java.util.List;

/**
 * 用户服务层
 * @InterfaceName UserDao
 * @author 天火
 * @date 2019-02-28
 * @version 1.0
 */
public interface UserDao {

    /**
     * 通过用户邮箱和密码查找用户
     */
    User findUserByEmailAndPassword(String email, String password) throws DataManipulationException;

    /**
     * 保存新用户
     */
    void addUser(User user);

    /**
     * 根据Id查询用户
     */
    User findUserById(Long Id);

    /**
     * 更新用户信息
     */
    void updateUserInfo(User user);

    /**
     * 更新用户收藏微博信息
     */
    void updateUserCollectNum(User user);

    /**
     * 根据邮箱查询用户
     * @param email
     * @return
     */
    User findUserByEmail(String email);

    /**
     * 模糊查询用户
     * @param key
     * @return
     */
    List<User> findUserBySeach(String key);


    /**
     * 查询用户收藏的微博Id
     * @param uId
     * @return
     */
    List<Long> findCollectWeiboByUserid(Long uId);

}
